Код:
	#==============================================================================
# MOG VX - Scene Title Screen Miria V2.0
#==============================================================================
# By Moghunter 
# http://www.atelier-rgss.com/
#==============================================================================
# Tela de Titulo animado
#==============================================================================
# 1 - Crie uma pasta chamada de TITLE (Graphics/Title)
# 2 - Dentro desta pasta devem conter as seguintes imagens
#
# Title             #Imagem que contem o texto do titulo
# Transition        #Imagem da transição de tela
# Plane1            #Imagem da camada 1
# Plane2            #Imagem da camada 2
# Plane3            #Imagem da camada 3
# Title_Command     #Imagem do menu seleção NEW GAME
#
#==============================================================================
# Histórico
# v2.0 - Melhor codificação.
#==============================================================================
module MOG_VX01
    # Tempo de transição.
    TT = 120
    #Ativar movimento de Onda no texto do titulo.
    # (true = Ativar ou false = Desativar) 
    TWAVE = true
    #Opacidade da imagem camada 1.
    TPLANE1_OPA = 255
    #Opacidade da imagem camada 2.
    TPLANE2_OPA = 200
    #Opacidade da imagem camada 3
    TPLANE3_OPA = 170
    # Velocidade de movimento da camada 1 na horizontal.
    TPLANE1_X = 1
    # Velocidade de movimento da camada 1 na vertical.
    TPLANE1_Y = 0
    # Velocidade de movimento da camada 2 na horizontal.
    TPLANE2_X = 2
    # Velocidade de movimento da camada 2 na vertical.
    TPLANE2_Y = 0
    # Velocidade de movimento da camada 2 na horizontal.
    TPLANE3_X = 4
    # Velocidade de movimento da camada 2 na vertical.
    TPLANE3_Y = 0
    # Posição do comando
    COMMAND_POS = [0, 220]
end
#===============================================================================
# ■  Cache
#===============================================================================
module Cache
  def self.title(filename)
    load_bitmap("Graphics/Title/", filename)
  end
end
#===============================================================================
# ■  Scene_Title
#===============================================================================
class Scene_Title < Scene_Base
include  MOG_VX01
    
  #--------------------------------------------------------------------------
  # ● Start
  #-------------------------------------------------------------------------- 
  def start
      super
      load_database                    
      create_game_objects            
      check_continue                    
      create_title_graphic             
      create_command_window    
      create_command_sprite
      play_title_music                 
  end
  
  #--------------------------------------------------------------------------
  # ● post_start
  #-------------------------------------------------------------------------- 
  def post_start
      super
      open_command_window
  end
 
  #--------------------------------------------------------------------------
  # ● create_title_graphic
  #--------------------------------------------------------------------------   
  def create_title_graphic
      @sprite_title = Sprite.new    
      @sprite_title.bitmap = Cache.title("Title")  
      @sprite_title.opacity = 0
      @sprite = Plane.new    
      @sprite.bitmap = Cache.title("Plane1")
      @sprite2 = Plane.new 
      @sprite2.bitmap = Cache.title("Plane2")
      @sprite3 = Plane.new    
      @sprite3.bitmap = Cache.title("Plane3")
      @sprite.opacity = TPLANE1_OPA
      @sprite2.opacity = TPLANE2_OPA    
      @sprite3.opacity = TPLANE3_OPA    
      @sprite.z  = 1
      @sprite2.z = 2
      @sprite3.z = 3
      @sprite_title.z = 5    
      if TWAVE == true
         @sprite_title.wave_amp = 8
         @sprite_title.wave_length = 240
         @sprite_title.wave_speed = 320
      end
  end
  
  #--------------------------------------------------------------------------
  # ● create_command_sprite
  #--------------------------------------------------------------------------    
  def create_command_sprite
      @com_image = Cache.title("Title_Command")  
      @com_bitmap = Bitmap.new(@com_image.width,@com_image.height)
      @com_width = @com_image.width 
      @com_height = @com_image.height / 3    
      @com_src_rect = Rect.new(0, @command_window.index * @com_height, @com_width, @com_height)
      @com_bitmap.blt(0,0, @com_image, @com_src_rect)        
      @com = Sprite.new
      @com.bitmap = @com_bitmap
      @com.opacity = 0  
      @com.x = COMMAND_POS[0]
      @com.y = COMMAND_POS[1]
      @com.z = 4
  end
  
  #--------------------------------------------------------------------------
  # ● pre_terminate
  #-------------------------------------------------------------------------- 
  def pre_terminate
      super
      close_command_window
  end
 
  #--------------------------------------------------------------------------
  # ● perform_transition
  #--------------------------------------------------------------------------   
  def perform_transition
      Graphics.transition(TT , "Graphics/Title/Transition")
  end
  #--------------------------------------------------------------------------
  # ● update
  #-------------------------------------------------------------------------- 
  def update
      super
      @command_window.update
      update_sprite_command     
      @sprite_title.opacity += 2
      @com.opacity += 2 if @sprite_title.opacity > 150
      @sprite.ox += TPLANE1_X
      @sprite.oy += TPLANE1_Y
      @sprite2.ox += TPLANE2_X
      @sprite2.oy += TPLANE2_Y
      @sprite3.ox += TPLANE3_X
      @sprite3.oy += TPLANE3_Y
      @sprite_title.update if TWAVE == true
      if Input.trigger?(Input::C)
          case @command_window.index
              when 0  
                command_new_game
              when 1   
                command_continue
              when 2   
                command_shutdown
          end
      end
  end
 
  #--------------------------------------------------------------------------
  # ● update_sprite_command
  #--------------------------------------------------------------------------   
  def update_sprite_command
      return if @sprite_index == @command_window.index
      @sprite_index = @command_window.index 
      @com.bitmap.clear
      @com_src_rect = Rect.new(0, @command_window.index * @com_height, @com_width, @com_height)
      @com_bitmap.blt(0,0, @com_image, @com_src_rect)           
  end
  
  #--------------------------------------------------------------------------
  # ● update_slide
  #-------------------------------------------------------------------------- 
  def update_slide
      @sprite.ox += TPLANE1_X
      @sprite.oy += TPLANE1_Y
      @sprite2.ox += TPLANE2_X
      @sprite2.oy += TPLANE2_Y
      @sprite3.ox += TPLANE3_X
      @sprite3.oy += TPLANE3_Y
      @sprite_title.update if TWAVE == true    
  end
  #--------------------------------------------------------------------------
  # ● load_database
  #-------------------------------------------------------------------------- 
  def load_database
      $data_actors        = load_data("Data/Actors.rvdata")
      $data_classes       = load_data("Data/Classes.rvdata")
      $data_skills        = load_data("Data/Skills.rvdata")
      $data_items         = load_data("Data/Items.rvdata")
      $data_weapons       = load_data("Data/Weapons.rvdata")
      $data_armors        = load_data("Data/Armors.rvdata")
      $data_enemies       = load_data("Data/Enemies.rvdata")
      $data_troops        = load_data("Data/Troops.rvdata")
      $data_states        = load_data("Data/States.rvdata")
      $data_animations    = load_data("Data/Animations.rvdata")
      $data_common_events = load_data("Data/CommonEvents.rvdata")
      $data_system        = load_data("Data/System.rvdata")
      $data_areas         = load_data("Data/Areas.rvdata")
  end
  
  #--------------------------------------------------------------------------
  # ● load_bt_database
  #-------------------------------------------------------------------------- 
  def load_bt_database
      $data_actors        = load_data("Data/BT_Actors.rvdata")
      $data_classes       = load_data("Data/BT_Classes.rvdata")
      $data_skills        = load_data("Data/BT_Skills.rvdata")
      $data_items         = load_data("Data/BT_Items.rvdata")
      $data_weapons       = load_data("Data/BT_Weapons.rvdata")
      $data_armors        = load_data("Data/BT_Armors.rvdata")
      $data_enemies       = load_data("Data/BT_Enemies.rvdata")
      $data_troops        = load_data("Data/BT_Troops.rvdata")
      $data_states        = load_data("Data/BT_States.rvdata")
      $data_animations    = load_data("Data/BT_Animations.rvdata")
      $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
      $data_system        = load_data("Data/BT_System.rvdata")
  end
 
  #--------------------------------------------------------------------------
  # ● create_game_objects
  #-------------------------------------------------------------------------- 
  def create_game_objects
      $game_temp          = Game_Temp.new
      $game_message       = Game_Message.new
      $game_system        = Game_System.new
      $game_switches      = Game_Switches.new
      $game_variables     = Game_Variables.new
      $game_self_switches = Game_SelfSwitches.new
      $game_actors        = Game_Actors.new
      $game_party         = Game_Party.new
      $game_troop         = Game_Troop.new
      $game_map           = Game_Map.new
      $game_player        = Game_Player.new
  end
  
  #--------------------------------------------------------------------------
  # ● check_continue
  #-------------------------------------------------------------------------- 
  def check_continue
      @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  end
  
  #--------------------------------------------------------------------------
  # ● dispose_title_graphic
  #-------------------------------------------------------------------------- 
  def dispose_title_graphic
      @sprite.bitmap.dispose
      @sprite2.bitmap.dispose
      @sprite3.bitmap.dispose    
      @com.bitmap.dispose    
      @sprite_title.bitmap.dispose 
      @sprite.dispose
      @sprite2.dispose
      @sprite3.dispose
      @com.dispose     
      @sprite_title.dispose
  end
  #--------------------------------------------------------------------------
  # ● create_command_window
  #--------------------------------------------------------------------------   
  def create_command_window
      s1 = Vocab::new_game
      s2 = Vocab::continue
      s3 = Vocab::shutdown
      @command_window = Window_Command.new(172, [s1, s2, s3])
      @command_window.opacity = 0
      @command_window.contents_opacity = 0
      if @continue_enabled                  
         @command_window.index = 1             
      else                               
         @command_window.draw_item(1, false)   
      end
  end
  
  #--------------------------------------------------------------------------
  # ● title_fade
  #--------------------------------------------------------------------------   
  def title_fade
      if TWAVE == true    
          @sprite_title.wave_amp = 34
          @sprite_title.wave_length =120
          @sprite_title.wave_speed = 800
      end    
      for i in 0..120
          @sprite_title.opacity -= 3    
          @sprite_title.update if TWAVE == true    
          @com.opacity -= 3 
          case @command_window.index
          when 0    
               @sprite.zoom_x += 0.01
               @sprite.zoom_y += 0.01   
               @sprite2.zoom_x += 0.01
               @sprite2.zoom_y += 0.01       
               @sprite3.zoom_x += 0.01
               @sprite3.zoom_y += 0.01       
               @sprite.ox += 2
               @sprite.oy += 2
               @sprite2.ox += 2
               @sprite2.oy += 2
               @sprite3.ox += 2
               @sprite3.oy += 2    
         end
         update_slide
         Graphics.update  
      end         
  end  
  
  #--------------------------------------------------------------------------
  # ● dispose_command_window
  #--------------------------------------------------------------------------   
  def dispose_command_window
      @command_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● open_command_window
  #--------------------------------------------------------------------------   
  def open_command_window
      @command_window.open
      begin
          @command_window.update
          Graphics.update
      end until @command_window.openness == 255
  end
  
  #--------------------------------------------------------------------------
  # ● close_command_window
  #--------------------------------------------------------------------------   
  def close_command_window
      @command_window.close
      begin
          @command_window.update
          Graphics.update
      end until @command_window.openness == 0
  end
  #--------------------------------------------------------------------------
  # ● play_title_music
  #--------------------------------------------------------------------------   
  def play_title_music
      $data_system.title_bgm.play
      RPG::BGS.stop
      RPG::ME.stop
  end
 
  #--------------------------------------------------------------------------
  # ● confirm_player_location
  #--------------------------------------------------------------------------   
  def confirm_player_location
      if $data_system.start_map_id == 0
          print "プレイヤーの初期位置が設定されていません。"
          exit
      end
  end
  #--------------------------------------------------------------------------
  # ● command_new_game
  #--------------------------------------------------------------------------   
  def command_new_game
      confirm_player_location
      Sound.play_decision
      title_fade
      $game_party.setup_starting_members        
      $game_map.setup($data_system.start_map_id)   
      $game_player.moveto($data_system.start_x, $data_system.start_y)
      $game_player.refresh
      $scene = Scene_Map.new
      RPG::BGM.fade(1500)
      close_command_window
      Graphics.fadeout(60)
      Graphics.wait(40)
      Graphics.frame_count = 0
      RPG::BGM.stop
      $game_map.autoplay
  end
  
  #--------------------------------------------------------------------------
  # ● command_continue
  #--------------------------------------------------------------------------   
  def command_continue
      if @continue_enabled
          Sound.play_decision
          title_fade
          $scene = Scene_File.new(false, true, false)
      else
          Sound.play_buzzer
      end
  end
 
  #--------------------------------------------------------------------------
  # ● command_shutdown   
  #--------------------------------------------------------------------------   
  def command_shutdown    
      Sound.play_decision
      title_fade
      RPG::BGM.fade(800)
      RPG::BGS.fade(800)
      RPG::ME.fade(800)
      $scene = nil
  end
 
  #--------------------------------------------------------------------------
  # ● battle_test
  #--------------------------------------------------------------------------   
  def battle_test
      load_bt_database              
      create_game_objects         
      Graphics.frame_count = 0          
      $game_party.setup_battle_test_members
      $game_troop.setup($data_system.test_troop_id)
      $game_troop.can_escape = true
      $game_system.battle_bgm.play
      snapshot_for_background
      $scene = Scene_Battle.new
  end
end
$mog_rgssvx_title_screen_miria = true
 
Социальные закладки